﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using System.Web.Services;
using Billing.Services;
using System.Web.Services.Protocols;

namespace Billing.PaymentServices
{
    [WebService(Namespace = "http://Billing/Services/2008/08", Name = "AuthenticationService")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [ToolboxItem(false)]
    public interface IAuthenticationService : IServiceBase
    {
        [WebMethod]
        [SoapHeader("BillingSoapHeader")]
        void Authenticate(string userName,
            string password,
            System.Nullable<int> versionMajor,
            System.Nullable<int> versionMinor,
            System.Nullable<int> versionBuild,
            System.Nullable<int> versionRevision,
            ref System.Nullable<int> userID,
            ref System.Nullable<int> departmentID,
            ref System.Nullable<System.Guid> sessionGUID,
            ref System.Nullable<System.Guid> userGUID,
            ref string userFullName,
            ref System.Nullable<int> result);

        [WebMethod]
        [SoapHeader("BillingSoapHeader")]
        void ChangeUserPassword(System.Nullable<int> userID, 
            string oldPassword, 
            string newPassword,
            ref System.Nullable<bool> result);
    }
}
